'''
Created on 2017年5月12日

@author: zhangyanfeng
'''
'''
r，只读模式（默认）。
w，只写模式。【不可读；不存在则创建；存在则删除内容；】
a，追加模式。【可读；   不存在则创建；存在则只追加内容；】
r+，可读写文件。【可读；可写；可追加】
w+，写读
a：打开文件用于追加，只写，不存在则创建新文件
b：以二进制模式打开（不能单独使用）
'''
f=open('a.txt','r',encoding='utf-8')
s=f.readline()
print("文件内容: ",s)
print("文件名为: ", f.name)

fid=f.fileno()#文件对应的描述符,使用数字来表示
print("文件描述符为: ",fid)
f.close()

fo = open("a.txt", "r",encoding='utf-8')
for index in range(5):
    line = next(fo)
    print("第 %d 行 - %s" % (index, line))
fo.close()

fo=open('runoob.txt','r+')
print('文件名为:',fo.name)

line = fo.readline()
print('读取第一行 %s' % (line))

line=fo.readline(5)
print ("读取的字符串为: %s" % (line))
fo.close();


fo = open("runoob.txt", "r+")
print ("文件名为: ", fo.name)

line = fo.readline()
print ("读取的数据为: %s" % (line))

# 获取当前文件位置
pos = fo.tell()
print ("当前位置: %d" % (pos))

# 关闭文件
fo.close()




fo = open("runoob.txt", "r+")
print ("文件名: ", fo.name)

line = fo.readline()
print ("读取行: %s" % (line))
fo.truncate()
line = fo.readlines()
print ("读取行: %s" % (line))
fo.close()

'''
Python3 File writelines() 方法
writelines() 方法用于向文件中写入一序列的字符串。
这一序列字符串可以是由迭代对象产生的，如一个字符串列表。
换行需要制定换行符 \n。
'''
fo=open('b.txt','w')
print ("文件名为: ", fo.name)
seq = ["菜鸟教程 1\n", "菜鸟教程 2"]
fo.writelines(seq)
fo.close()


